gtk4.git
5 years agoatcontext: labelled-by has a reference list
Matthias Clasen [Sat, 10 Oct 2020 16:12:03 +0000 (12:12 -0400)]
atcontext: labelled-by has a reference list

This is unclear - our docs state that all the
relations have value type reference, but in fact
they all have value type reference list.

5 years agoatspicontext: Implement GetRelationSet
Matthias Clasen [Sat, 10 Oct 2020 14:43:59 +0000 (10:43 -0400)]
atspicontext: Implement GetRelationSet

This translates relations as far as the match.

I'm not sure yet what we can do about the fact that
atspi expects relations to be bidirectional (ie have
label-for *and* labelled-by) while aria has only one
direction.

5 years agoatspiroot: Stub out GetRelationSet
Matthias Clasen [Sat, 10 Oct 2020 14:43:07 +0000 (10:43 -0400)]
atspiroot: Stub out GetRelationSet

This needs to be fully implemented, for now sending
an empty relation set back prevents accerciser from
getting hung up.

5 years agoatspi: Add the AtspiRelationType enum
Matthias Clasen [Sat, 10 Oct 2020 16:24:25 +0000 (12:24 -0400)]
atspi: Add the AtspiRelationType enum

This is what we need to map the aria relation
types to.

5 years agoMove atspi enums to gtkatspiprivate.h
Matthias Clasen [Sat, 10 Oct 2020 15:16:47 +0000 (11:16 -0400)]
Move atspi enums to gtkatspiprivate.h

5 years agoAdd a GetInterfaces method
Matthias Clasen [Sat, 10 Oct 2020 03:32:36 +0000 (23:32 -0400)]
Add a GetInterfaces method

It turns out that accerciser depends on this undocumented
method that is not in the xml at all, otherwise interface
sections in the accerciser ui never get enabled.

5 years agoDon't pass NULL to g_variant_new_string
Matthias Clasen [Sat, 10 Oct 2020 14:06:50 +0000 (10:06 -0400)]
Don't pass NULL to g_variant_new_string

That does not work.

5 years agoatspi utils: Fix an oversight
Matthias Clasen [Sat, 10 Oct 2020 13:23:49 +0000 (09:23 -0400)]
atspi utils: Fix an oversight

gtk_accessible_role_to_atspi_role must always return
an atspi role. The fallback was returning an aria
role.

5 years agoFixup: Add a forgotten #pragma once
Matthias Clasen [Sat, 10 Oct 2020 17:43:48 +0000 (13:43 -0400)]
Fixup: Add a forgotten #pragma once

5 years agoa11y: Convenience API for referencing ATSPI root node
Emmanuele Bassi [Sat, 10 Oct 2020 12:23:21 +0000 (13:23 +0100)]
a11y: Convenience API for referencing ATSPI root node

We turn the root node into a reference fairly often, so it's worth it to
have a utility function that does this for us.

5 years agoa11y: Add utility function for null refs
Emmanuele Bassi [Sat, 10 Oct 2020 11:51:03 +0000 (12:51 +0100)]
a11y: Add utility function for null refs

ATSPI was written for CORBA, which allows passing around "nil"
as valid object references.

5 years agoatspicontext: Implement GetState
Matthias Clasen [Sat, 10 Oct 2020 02:00:48 +0000 (22:00 -0400)]
atspicontext: Implement GetState

Translate the aria states to at-spi's interpretation
of atk states.

5 years agoatspiroot: Fix GetState implementation
Matthias Clasen [Sat, 10 Oct 2020 01:59:57 +0000 (21:59 -0400)]
atspiroot: Fix GetState implementation

When the GetState signature says 'au', it actually
means a bitset that is sent as a pair of 32bit integers.

5 years agoatspiroot: Implement GetIndexInParent
Matthias Clasen [Sat, 10 Oct 2020 00:25:38 +0000 (20:25 -0400)]
atspiroot: Implement GetIndexInParent

Just for good measure

5 years agoatspicontext: Implement GetIndexInParent
Matthias Clasen [Sat, 10 Oct 2020 00:24:52 +0000 (20:24 -0400)]
atspicontext: Implement GetIndexInParent

This is needed for ATs to take our tree seriously.

5 years agoatspicontext: Implement more accessible api
Matthias Clasen [Fri, 9 Oct 2020 23:20:24 +0000 (19:20 -0400)]
atspicontext: Implement more accessible api

Implement GetChildAtIndex, GetChildren and ChildCount.

5 years agoatspiroot: Implement GetChildren
Matthias Clasen [Fri, 9 Oct 2020 22:33:28 +0000 (18:33 -0400)]
atspiroot: Implement GetChildren

No surprises here.

5 years agoatspiroot: Don't leak references
Matthias Clasen [Fri, 9 Oct 2020 22:21:15 +0000 (18:21 -0400)]
atspiroot: Don't leak references

The reffing getter trap, lurking behind g_list_model_get_item().

5 years agoatspiroot: Implement GetLocale
Matthias Clasen [Fri, 9 Oct 2020 19:16:43 +0000 (15:16 -0400)]
atspiroot: Implement GetLocale

5 years agoatspicontext: Print out the a11y bus address
Matthias Clasen [Fri, 9 Oct 2020 19:15:45 +0000 (15:15 -0400)]
atspicontext: Print out the a11y bus address

Make our debug spew useful: Having the bus address
makes it easy to jump on the a11y bus to look around
with dbus tools.

5 years agoa11y: Localise the role name of the root node
Emmanuele Bassi [Sat, 10 Oct 2020 11:55:54 +0000 (12:55 +0100)]
a11y: Localise the role name of the root node

5 years agoa11y: Register the Accessible interface on all AtSpiContext instances
Emmanuele Bassi [Fri, 9 Oct 2020 21:46:15 +0000 (22:46 +0100)]
a11y: Register the Accessible interface on all AtSpiContext instances

This is not a complement implementation.

5 years agoa11y: Implement more ATSPI methods on the root node
Emmanuele Bassi [Fri, 9 Oct 2020 21:45:49 +0000 (22:45 +0100)]
a11y: Implement more ATSPI methods on the root node

5 years agoa11y: Add method to extract desktop data
Emmanuele Bassi [Fri, 9 Oct 2020 21:38:08 +0000 (22:38 +0100)]
a11y: Add method to extract desktop data

We are going to need the desktop name and path to populate the parent
property of AtSpiContexts associated to top level widgets.

5 years agoa11y: Validate the DBus context path
Emmanuele Bassi [Fri, 9 Oct 2020 21:33:51 +0000 (22:33 +0100)]
a11y: Validate the DBus context path

UUIDs use dashes to separate the various blocks; unfortunately, this
results in an invalid DBus object path. Replace the dashes with an
underscore.

5 years agoa11y: Turn accessible roles to string
Emmanuele Bassi [Fri, 9 Oct 2020 21:31:58 +0000 (22:31 +0100)]
a11y: Turn accessible roles to string

Add a simple utility function to turn GtkAccessibleRole values into the
appropriate string, including localization.

5 years agoa11y: Convert GTK roles to ATSPI ones
Emmanuele Bassi [Fri, 9 Oct 2020 21:01:00 +0000 (22:01 +0100)]
a11y: Convert GTK roles to ATSPI ones

There's not a precise, 1:1 mapping between the newer ARIA roles and the
older ATSPI ones. We make do with what we have.

5 years agoa11y: Compute the label for a GtkATContext
Emmanuele Bassi [Fri, 9 Oct 2020 20:23:19 +0000 (21:23 +0100)]
a11y: Compute the label for a GtkATContext

The ARIA spec defines the mechanism for determining the name of an
accessible element—see §4.3 of the WAI-ARIA spec.

We follow the specification as much as it makes sense for GTK to do
so:

 1. if the element is hidden, return an empty string
 1. if the element has a labelled-by relation set, retrieve the
    label of the related element
 2. if the element has a label property set, use the value of
    the property
 3. if neither labelled-by nor label attributes are set, we use
    the role to compute the name:
   - for a `range` role, we return the contents of the value of
     the `value-text` or `value-now` properties
   - for any other role, we return a textual representation of
     the GtkAccessibleRole enumeration value

5 years agotests: Use the test ATContext for every test
Emmanuele Bassi [Fri, 9 Oct 2020 17:17:04 +0000 (18:17 +0100)]
tests: Use the test ATContext for every test

Otherwise we're going to need a full desktop session in order to run the
test suite.

5 years agoa11y: Return the ATSPI role for the root element
Emmanuele Bassi [Fri, 9 Oct 2020 13:49:10 +0000 (14:49 +0100)]
a11y: Return the ATSPI role for the root element

5 years agoa11y: Add AT-SPI cache object
Emmanuele Bassi [Fri, 9 Oct 2020 13:20:43 +0000 (14:20 +0100)]
a11y: Add AT-SPI cache object

Right now, the cache is unused, and we still need to implement the
serialisation method and emit the signals.

5 years agoa11y: Ignore widgets during destruction
Emmanuele Bassi [Fri, 9 Oct 2020 11:33:50 +0000 (12:33 +0100)]
a11y: Ignore widgets during destruction

There's no point in creating a GtkATContext when a widget is getting
destroyed.

5 years agoa11y: Register the accessible root object
Emmanuele Bassi [Fri, 9 Oct 2020 11:32:09 +0000 (12:32 +0100)]
a11y: Register the accessible root object

When we create the first AT-SPI context we also need to register the
accessible root on the accessibility bus. The accessible root object is
the main entry point of an accessible application, and it holds the
global state to present to the ATs that connect to the bus.

5 years agoa11y: Add a display to GtkATContext
Emmanuele Bassi [Tue, 29 Sep 2020 17:40:44 +0000 (18:40 +0100)]
a11y: Add a display to GtkATContext

Since we need to check at run time what kind of AT context to use, we
need a hook into the whole GDK backend machinery. The display connection
seems to be the best choice, in this case, as it allows us to determine
whether we're running on an X11 or Wayland system, and thus whether we
should create a GtkAtSpiContext.

This requires some surgery to fix the GtkATContext creation function, in
order to include a GdkDisplay instance.

5 years agoa11y: Add dummy AT-SPI context
Emmanuele Bassi [Tue, 29 Sep 2020 17:18:36 +0000 (18:18 +0100)]
a11y: Add dummy AT-SPI context

Does not do anything, at the moment, but it's going to get filled out
soon.

The backend is selected depending on the platform being compiled in;
since we're using AT-SPI on X11 and Wayland, and we don't have other
accessibility implementations, we currently don't care about run time
selection, but we're going to have to deal with that.

5 years agoa11y: Add the AT-SPI DBus descriptions
Emmanuele Bassi [Tue, 29 Sep 2020 16:55:01 +0000 (17:55 +0100)]
a11y: Add the AT-SPI DBus descriptions

And generate the code for the DBus interfaces.

We don't want the full object manager experience, here, because we're
going to have a single object responding to various interfaces and
remote method calls. For this reason, we're not using the gnome module
in Meson to call gdbus-codegen for us: we need to use the interface info
command line arguments, and those are not available from Meson.

5 years agoUse test AT context with installed tests
Emmanuele Bassi [Sat, 10 Oct 2020 00:44:31 +0000 (01:44 +0100)]
Use test AT context with installed tests

Otherwise we're going to need an AT-SPI service on the session, and the
accessibility bus.

5 years agoMerge branch 'ebassi/for-master' into 'master'
Matthias Clasen [Mon, 12 Oct 2020 14:39:39 +0000 (14:39 +0000)]
Merge branch 'ebassi/for-master' into 'master'

Ebassi/for master

See merge request GNOME/gtk!2683

5 years agoGenerate introspection for GdkWayland API
Emmanuele Bassi [Mon, 12 Oct 2020 13:05:52 +0000 (14:05 +0100)]
Generate introspection for GdkWayland API

Like we do for GdkX11. We can't use all of the public C API, but we can
expose enough type information to allow non-C developers to actually
check if they are running the Wayland GDK backend or not—plus some
additional Wayland-specific API.

5 years agoAdd type annotations for GdkWayland API
Emmanuele Bassi [Mon, 12 Oct 2020 13:04:13 +0000 (14:04 +0100)]
Add type annotations for GdkWayland API

The GdkWayland API takes generic GDK types and performs a run time
check, which means we need to properly annotate the actual expected
type in order to have methods recognised as such.

5 years agoSkip GdkWayland symbols that use wayland-client types
Emmanuele Bassi [Mon, 12 Oct 2020 13:02:54 +0000 (14:02 +0100)]
Skip GdkWayland symbols that use wayland-client types

The wayland-client API does not have introspection annotations, so we
can't use these types anyway.

5 years agoUpdated Lithuanian translation
Aurimas Černius [Sun, 11 Oct 2020 14:25:23 +0000 (17:25 +0300)]
Updated Lithuanian translation

5 years agoMerge branch 'wip/chergert/gdk-macos-fixes' into 'master'
Matthias Clasen [Sat, 10 Oct 2020 11:55:01 +0000 (11:55 +0000)]
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'

various build fixes for GDK/GTK on macos

See merge request GNOME/gtk!2680

5 years agoUpdate Polish translation
Piotr Drąg [Sat, 10 Oct 2020 10:45:14 +0000 (12:45 +0200)]
Update Polish translation

5 years agoUpdated Czech translation
Marek Černocký [Sat, 10 Oct 2020 10:17:27 +0000 (12:17 +0200)]
Updated Czech translation

5 years agomacos: port gtk to GDK_WINDOWING_MACOS
Christian Hergert [Sat, 10 Oct 2020 03:08:23 +0000 (20:08 -0700)]
macos: port gtk to GDK_WINDOWING_MACOS

For the various uses of GDK_WINDOWING_QUARTZ, we need to use
alternatives from GDK_WINDOWING_MACOS.

Some minor loss of functionality is here, such as icons sent with
application menus. That can certainly be added back at a future
point.

5 years agogtk: use GDK_WINDOWING_MACOS in gentypefuncs.py
Christian Hergert [Sat, 10 Oct 2020 03:05:20 +0000 (20:05 -0700)]
gtk: use GDK_WINDOWING_MACOS in gentypefuncs.py

5 years agogdk: remove quartz subdirectory from backends
Christian Hergert [Sat, 10 Oct 2020 03:04:27 +0000 (20:04 -0700)]
gdk: remove quartz subdirectory from backends

5 years agomacos: add key equivalent helper
Christian Hergert [Sat, 10 Oct 2020 03:03:52 +0000 (20:03 -0700)]
macos: add key equivalent helper

This is needed by quartz code in gtk/.

5 years agomacos: remove workaround for scroll delta
Christian Hergert [Sat, 10 Oct 2020 03:02:38 +0000 (20:02 -0700)]
macos: remove workaround for scroll delta

This gets handled differently in gtk/ and so we shouldn't translate it here.

5 years agomacos: track various changes in GDK
Christian Hergert [Sat, 10 Oct 2020 03:02:18 +0000 (20:02 -0700)]
macos: track various changes in GDK

5 years agomacos: lookup NSEvent by translated GdkEvent
Christian Hergert [Sat, 10 Oct 2020 02:58:07 +0000 (19:58 -0700)]
macos: lookup NSEvent by translated GdkEvent

This will be needed by the quartz imcontext.

5 years agomacos: move input method names to private header
Christian Hergert [Sat, 10 Oct 2020 02:56:21 +0000 (19:56 -0700)]
macos: move input method names to private header

5 years agodemo: fix out of bounds array index usage
Christian Hergert [Sat, 10 Oct 2020 02:55:25 +0000 (19:55 -0700)]
demo: fix out of bounds array index usage

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Fri, 9 Oct 2020 13:35:57 +0000 (13:35 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

Closes #3242 and #3240

See merge request GNOME/gtk!2679

5 years agogtk-demo: Keep undisplayable resources out of view
Matthias Clasen [Fri, 9 Oct 2020 11:51:57 +0000 (07:51 -0400)]
gtk-demo: Keep undisplayable resources out of view

No point in showing an apologetic tab for a blob of binary data.
gtk4-demo shows the resources under /DEMONAME/ for each demo,
so move the data to /DEMONAME_data/.

5 years agoMerge branch 'ebassi/for-master' into 'master'
Matthias Clasen [Fri, 9 Oct 2020 11:47:38 +0000 (11:47 +0000)]
Merge branch 'ebassi/for-master' into 'master'

Tone down a user visible message

See merge request GNOME/gtk!2678

5 years agoSend focus events to the root
Matthias Clasen [Fri, 9 Oct 2020 03:06:07 +0000 (23:06 -0400)]
Send focus events to the root

We are not propagating focus change events, and that is the only
place where we are listening for focus change events. If GtkWindow
does not see focus-in events for its popovers, we end up with
inadvertendly inactive windows.

Fixes: #3240
5 years agowindow: Be more careful when looking for focus
Matthias Clasen [Fri, 9 Oct 2020 00:32:39 +0000 (20:32 -0400)]
window: Be more careful when looking for focus

When passing focus up to a parent, make sure the
newly chosen focus widget actually accepts the focus.

5 years agobuild: Require sysprof 3.38.0
Matthias Clasen [Thu, 8 Oct 2020 23:23:23 +0000 (19:23 -0400)]
build: Require sysprof 3.38.0

We use sysprof_collector_request_counters, which
was introduced in sysprof 3.38.0.

5 years agogtk-demo: Ellipsize columns in the characters demo
Matthias Clasen [Thu, 8 Oct 2020 19:55:22 +0000 (15:55 -0400)]
gtk-demo: Ellipsize columns in the characters demo

some of the columns have uneven widths, causing them
to bounce around as you scroll. Ellipsize them and
give them a fixed with.

5 years agodocs: Add more details to the migration guide
Matthias Clasen [Thu, 8 Oct 2020 18:13:19 +0000 (14:13 -0400)]
docs: Add more details to the migration guide

Add some details about GdkSurface and GtkWindow api changes.

Fixes: #3242
5 years agoTone down a user visible message
Emmanuele Bassi [Fri, 9 Oct 2020 09:14:41 +0000 (10:14 +0100)]
Tone down a user visible message

Self-deprecating humour badly translates to a demo message.

5 years agoMerge branch 'kjellahl/gdkseat' into 'master'
Timm Bäder [Thu, 8 Oct 2020 15:05:57 +0000 (15:05 +0000)]
Merge branch 'kjellahl/gdkseat' into 'master'

gdkseat: Make gdk_seat_get_tools() public

Closes #3241

See merge request GNOME/gtk!2677

5 years agogdkseat: Make gdk_seat_get_tools() public
Kjell Ahlstedt [Thu, 8 Oct 2020 14:22:05 +0000 (16:22 +0200)]
gdkseat: Make gdk_seat_get_tools() public

Fixes #3241

5 years agoMerge branch 'fix.builder.msvc' into 'master'
Timm Bäder [Thu, 8 Oct 2020 09:42:04 +0000 (09:42 +0000)]
Merge branch 'fix.builder.msvc' into 'master'

testsuite/gtk/builder.c: Fix running on Visual Studio

See merge request GNOME/gtk!2676

5 years agotestsuite/gtk/builder.c: Fix running on Visual Studio
Chun-wei Fan [Thu, 8 Oct 2020 08:05:40 +0000 (16:05 +0800)]
testsuite/gtk/builder.c: Fix running on Visual Studio

Explicitly say in the code that we are exporting the symbols so that when the
test program runs, it can find the required builder symbols.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 8 Oct 2020 02:19:42 +0000 (02:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!2674

5 years agogdk: Drop gdk_surface_new_temp
Matthias Clasen [Thu, 8 Oct 2020 01:18:25 +0000 (21:18 -0400)]
gdk: Drop gdk_surface_new_temp

It is not used anymore.

5 years agowin32: Stop using gdk_surface_new_temp
Matthias Clasen [Thu, 8 Oct 2020 01:07:40 +0000 (21:07 -0400)]
win32: Stop using gdk_surface_new_temp

No need to roundtrip through the frontend to create
one of our own surfaces.

5 years agobroadway: Stop using gdk_surface_new_temp
Matthias Clasen [Thu, 8 Oct 2020 01:04:05 +0000 (21:04 -0400)]
broadway: Stop using gdk_surface_new_temp

No need to roundtrip through the frontend to create
one of our own surfaces.

5 years agox11: Stop using gdk_surface_new_temp
Matthias Clasen [Thu, 8 Oct 2020 01:01:31 +0000 (21:01 -0400)]
x11: Stop using gdk_surface_new_temp

No need to roundtrip through the frontend to create
one of our own surfaces.

5 years agowayland: Stop using gdk_surface_new_temp
Matthias Clasen [Thu, 8 Oct 2020 00:12:35 +0000 (20:12 -0400)]
wayland: Stop using gdk_surface_new_temp

No need to roundtrip through the frontend to create
one of our own surfaces.

5 years agogdk: Drop some unused private api
Matthias Clasen [Wed, 7 Oct 2020 23:36:07 +0000 (19:36 -0400)]
gdk: Drop some unused private api

No users of gdk_display_peek_event, gdk_display_has_pending
_gdk_display_event_data_copy or _gdk_display_event_data_free,
so drop all of these, and related vfuncs.

5 years agoMerge branch 'master' into 'master'
Matthias Clasen [Wed, 7 Oct 2020 20:51:40 +0000 (20:51 +0000)]
Merge branch 'master' into 'master'

Allow LPR backend to print PDF and PS file formats

See merge request GNOME/gtk!418

5 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Wed, 7 Oct 2020 20:33:25 +0000 (20:33 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

textbuffer: Don't serialize the \0 byte

See merge request GNOME/gtk!2672

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 7 Oct 2020 20:30:52 +0000 (20:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

Closes #3237

See merge request GNOME/gtk!2673

5 years agotextbuffer: Don't serialize the \0 byte
Benjamin Otte [Wed, 7 Oct 2020 20:14:18 +0000 (22:14 +0200)]
textbuffer: Don't serialize the \0 byte

... when converting to text/plain.

5 years agocolorchooser: Bring color names back
Matthias Clasen [Wed, 7 Oct 2020 19:56:11 +0000 (15:56 -0400)]
colorchooser: Bring color names back

These are useful for accessibility.

Fixes: #3237
5 years agogtkplacessidebar: Disconnect and unref cloud_manager in dispose
Jan Alexander Steffens (heftig) [Wed, 7 Oct 2020 02:34:11 +0000 (22:34 -0400)]
gtkplacessidebar: Disconnect and unref cloud_manager in dispose

The manager's providers-changed signal can fire after the sidebar has
been freed. Make sure we disconnect the sidebar from the manager.

https://bugs.archlinux.org/task/57984
https://bugs.archlinux.org/task/68123

5 years agogtk-demo: Fix an off-by-one error
Matthias Clasen [Tue, 6 Oct 2020 22:09:52 +0000 (18:09 -0400)]
gtk-demo: Fix an off-by-one error

This was found by the asan build in our ci.

5 years agoMerge branch 'migration-guide-fix' into 'master'
Timm Bäder [Wed, 7 Oct 2020 08:00:43 +0000 (08:00 +0000)]
Merge branch 'migration-guide-fix' into 'master'

migration guide: Remove stray html tags

See merge request GNOME/gtk!2670

5 years agomigration guide: Remove stray html tags
Nicola Fontana [Wed, 7 Oct 2020 06:38:26 +0000 (08:38 +0200)]
migration guide: Remove stray html tags

5 years agoMerge branch 'svg-demo' into 'master'
Matthias Clasen [Tue, 6 Oct 2020 20:55:28 +0000 (20:55 +0000)]
Merge branch 'svg-demo' into 'master'

Svg demo

See merge request GNOME/gtk!2668

5 years agogtk-demo: Add an svg paintable demo
Matthias Clasen [Tue, 6 Oct 2020 19:12:09 +0000 (15:12 -0400)]
gtk-demo: Add an svg paintable demo

It is a little annoying that this demo will not show up
if we don't find librsvg, but I think showing how easy
this paintable is outweights the annoyance.

5 years agogtk-demo: Recognize .svg as images
Matthias Clasen [Tue, 6 Oct 2020 19:11:08 +0000 (15:11 -0400)]
gtk-demo: Recognize .svg as images

We can't guarantee that we can load it, but worst
case you'll get a missing image.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 6 Oct 2020 18:25:48 +0000 (18:25 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

Closes #3235

See merge request GNOME/gtk!2667

5 years agoMerge branch 'aboutwindow' into 'master'
Matthias Clasen [Tue, 6 Oct 2020 18:25:27 +0000 (18:25 +0000)]
Merge branch 'aboutwindow' into 'master'

gtkaboutdialog: Directly specialize GtkWindow

See merge request GNOME/gtk!2666

5 years agoaboutdialog: Fix updating license tab
Matthias Clasen [Tue, 6 Oct 2020 16:53:46 +0000 (12:53 -0400)]
aboutdialog: Fix updating license tab

We need to update the license button visibility
whenever the license type changes.

5 years agogtkaboutdialog: Directly specialize GtkWindow
Adrien Plazas [Mon, 5 Oct 2020 15:20:27 +0000 (17:20 +0200)]
gtkaboutdialog: Directly specialize GtkWindow

As it doesn't act as a dialog, there is no point specializing GtkDialog,
so his makes it specialize GtkWindow directly.

5 years agowindow: Fix setting min size
Matthias Clasen [Tue, 6 Oct 2020 15:05:40 +0000 (11:05 -0400)]
window: Fix setting min size

We were inadvertedly setting the windows min size
to the default size, making it so that you can never
shrink a window below its default size.

Fixes: #3235
5 years agogdk: Tweak our GL debug message callback
Matthias Clasen [Tue, 6 Oct 2020 13:25:47 +0000 (09:25 -0400)]
gdk: Tweak our GL debug message callback

Go back to installing our debug message callback
unconditionally if G_ENABLE_CONSISTENCY_CHECKS is
defined, and allow opting into it using GDK_DEBUG=gl-debug
otherwise.

5 years agogdk: Docs tweaks
Matthias Clasen [Tue, 6 Oct 2020 11:09:13 +0000 (07:09 -0400)]
gdk: Docs tweaks

We don't have library initialization api anymore,
update the section title to reflect that.

5 years agotreelistrowsorter: Add a bandaid
Matthias Clasen [Tue, 6 Oct 2020 01:27:23 +0000 (21:27 -0400)]
treelistrowsorter: Add a bandaid

The GtkTreeListRowSortKeys implementation doesn't
know how it wants to cache its keys, and just crashes.

Since that is not cool, add a bandaid fix that forces
it to recreate its keys instead. Extra work, but hey,
no crash.

Related: #3228

5 years agoMerge branch 'FixWin32PopupFocus' into 'master'
Emmanuele Bassi [Tue, 6 Oct 2020 10:30:07 +0000 (10:30 +0000)]
Merge branch 'FixWin32PopupFocus' into 'master'

Gtk4/Win32: Fix popup focus stealing when CSD is disabled

See merge request GNOME/gtk!2665

5 years agoFix Win32 popup focus when using SSD
firox263 [Tue, 6 Oct 2020 09:37:35 +0000 (22:37 +1300)]
Fix Win32 popup focus when using SSD

Prevents GDK Popups from stealing focus from the parent window when
using Server Side Decorations on win32.

It uses `ShowWindow` and the `SW_SHOWNOACTIVATE` flag.

5 years agoMerge branch 'wip/carlosg/for-master' into 'master'
Matthias Clasen [Tue, 6 Oct 2020 02:14:54 +0000 (02:14 +0000)]
Merge branch 'wip/carlosg/for-master' into 'master'

gtkpopover: Revert focus to parent on hide()

Closes #3214

See merge request GNOME/gtk!2653

5 years agoCosmetic
Matthias Clasen [Tue, 6 Oct 2020 01:53:05 +0000 (21:53 -0400)]
Cosmetic

Don't call gtk_root_get_focus when we already have
the GtkWindowPrivate struct at hand. And use
gtk_window_set_focus to update the focus, like the
old code did.

5 years agogtkwindow: Ensure to revert focus to a parent on hide()
Carlos Garnacho [Thu, 1 Oct 2020 14:54:10 +0000 (16:54 +0200)]
gtkwindow: Ensure to revert focus to a parent on hide()

When a widget is hidden, check harder for the keyboard focus being
contained in that widget, in order to reset it. Portions of the
focus child hierarchy may be outdated at the time, so it is more
reliable to check GtkRoot::focus (i.e. the property we intend to
update here).

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3214
5 years agoMerge branch 'simple-resizing-fixes' into 'master'
Matthias Clasen [Tue, 6 Oct 2020 01:25:25 +0000 (01:25 +0000)]
Merge branch 'simple-resizing-fixes' into 'master'

Simple resizing fixes

Closes #3076

See merge request GNOME/gtk!2661